home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
095
/
rbbs_doc.arc
/
APPENDIX.DOC
next >
Wrap
Text File
|
1987-06-07
|
115KB
|
2,926 lines
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
APPENDIX A -- RBBS-PC Record Formats
------------------------------------
This appendix is intended to document the record formats of some of the
more significant records used within RBBS-PC. As such, it is intended
more as a "programmers' guide" for those who wish to write RBBS-PC
utilities rather than as "user documentation." No record format is
"sacrosanct" and any of them may be changed in future releases.
However such changes are not made capriciously and, when they are
made, are accompanied by some utility program that will allow the
old files to be reformatted into the new format.
The MESSAGES file contains the messages that have been left on RBBS-PC. It
is a random file with 128-byte records. The first record of the MESSAGES
file acts as RBBS-PC's "checkpoint" record. The records immediately
following this first record are the RBBS-PC "node" records. Each "node"
record represents the activity/options associated with a particular copy of
RBBS-PC ("node"). There can be up to thirty-six copies of RBBS-PC running
simultaneously sharing the same set of static files. Therefore there can
be up to thirty-six "node" records following the "checkpoint" record.
The MESSAGES file has the following logical format:
+----------------------------------------------+
Record #1 | RBBS-PC "checkpoint" record |
+----------------------------------------------+
Record #2 | RBBS-PC "node" record for node # 1 |
| |
| up to |
| |
| RBBS-PC "node" record for node # 9 |
| RBBS-PC "node" record for node # 0 |
| RBBS-PC "node" record for node "A" |
| |
| up to |
| RBBS-PC "node" record for node "Z" |
| |
+----------------------------------------------+
| First Record in Message portion of file |
+----------------------------------------------+
| |
\ Message records that have been used \
\ \
| |
+----------------------------------------------+
| Record available for next message |
+----------------------------------------------+
| Last record available in MESSAGES file |
+----------------------------------------------+
Page 105 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
The FIRST RECORD of the "MESSAGES" file acts as a "checkpoint" record for
all the multiple RBBS-PC's that may be sharing the MESSAGES and USERS
files. It contains information critical to maintaining the integrity of
these two files. The layout of RBBS-PC Message File Record Number 1 is
as follows:
Position Length Description
1 - 8 8 Number of last message on system
9 - 10 2 --- RESERVED FOR FUTURE USE ----
11 - 20 10 Current caller number
21 - 51 31 --- RESERVED FOR FUTURE USE ----
52 - 56 5 Record Number of first record in the USERS file
57 - 61 5 Record Number of the next available record in the
USERS file
62 - 66 5 Record Number of the last record in the USERS file
67 1 Reserved for Node ID currently reserving the USERS file
68 - 74 7 Record Number where "messages" portion of the
MESSAGES file begins
75 - 81 7 Record Number of the next available record in the
MESSAGES file where the next message may be written
82 - 88 7 Record Number of the last record in the MESSAGES file
89 - 95 7 Maximum number of messages allowed in the MESSAGES file
96 - 97 2 Reserved for Node ID currently reserving the MESSAGES file
98 -122 25 --- RESERVED FOR FUTURE USE ----
123 -126 4 Last message number read by the SYSOP
127 -128 2 Maximum number of RBBS-PC's sharing this MESSAGES file
As a programming reference, line 23000 of the BASIC source code for RBBS-
PC.BAS contains the code for reading this "checkpoint" record.
Page 106 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
Following the first record of the MESSAGES file are from one to 36 "node"
records. Each "node" record contains information critical to the
running of that copy of RBBS-PC associated with that "node". The layout of
each RBBS-PC "node" record is as follows:
Position Length Description
1 - 31 31 Name of last person on this copy of RBBS-PC
32 - 33 2 Available indicator for SYSOP
34 - 35 2 Annoy indicator for SYSOP
36 - 37 2 Indicator that the SYSOP is next on the system
38 - 39 2 Line printer available indicator
40 - 41 2 Door's availability indicator
42 - 43 2 Eight bit transmission indicator
44 - 45 2 Baud rate. -1 = 300, -2 = 450, -3 = 1200, -4 = 2400
46 - 47 2 Upper case indicator
48 - 52 5 ---- RESERVED FOR FUTURE USE ----
53 - 54 2 Graphics indicator
55 - 56 2 SYSOP indicator
57 1 Activity indicator (I=inactive, A=active)
58 - 59 2 SNOOP indicator
60 - 61 2 Baud rate caller dialed in at. 300, 1200, 2400
62 - 63 67 ---- RESERVED FOR FUTURE USE ----
64 - 69 6 Time logged on system
70 - 71 2 ---- RESERVED FOR FUTURE USE ----
72 - 73 2 Private Door
74 - 75 2 Transfer Function
76 - 85 10 Daily Exit Last Date
86 - 90 5 Daily Exit Last Time
91 - 92 2 Reliable Mode
93 - 128 36 ---- RESERVED FOR FUTURE USE ----
As a programming reference, review lines 175, 842, 13549, 43070, AND 44000
of the BASIC source code for RBBS-PC.BAS and RBBSSUB2.BAS to see how these
fields are set/used.
A message within the messages file consists of a MESSAGE HEADER followed by
the text of the message. The RBBS-PC Message File "message header" record
layout is as follows:
Position Length Description
1 1 Contains an "*" for read-only messages, blank otherwise
2 - 5 4 Message number of this message
6 - 36 31 The name of the person the message is from
37 - 58 22 The name of the person to whom the message is sent
59 - 66 8 Time of day that the message was sent (HH:MM:SS)
67 - 67 1 ---- RESERVED FOR FUTURE USE ----
68 - 75 8 Date the message was sent (MM-DD-YY)
76 -100 25 Subject of the message
101 -115 15 Password for the message (if any)
116 -116 1 "Active" message indicator = hex 225
"Killed" message indicator = hex 226
117 -120 4 Number of 128-byte records for this message --
including the the "message header" record.
121 -122 2 ---- RESERVED FOR FUTURE USE ----
123 -125 3 Date (packed) the message was last read (MM/DD/YY)
126 -128 3 Time (packed) the message was last read (HH:MM:SS)
As a programming reference, review lines 3405, 3460, 3530, and 8076 of the
BASIC source code for RBBS-PC.BAS to see how these fields are set.
Page 107 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
Each record following the MESSAGE HEADER record is a MESSAGE TEXT record
and consists of 128 characters. Each of these 128-byte message text"
records contains the message text. The end of each line in the message is
followed by an RBBS-PC "end-of-line" indicator which is equal to
an ASCII 227. This allows RBBS-PC to "pack" multiple message lines in a
single 128-byte record.
The USERS file contains information unique for each RBBS-PC user who
logs on. It is a random file with 128-byte records. The layout of each
users record within the USERS file is as follows:
Position Length Description
1 - 31 31 Users first and last name (separated by a blank).
32 - 46 15 Users password for logon.
47 - 48 2 Users security level (permanent).
49 - 62 14 Users logon options (see detail breakdown below).
63 - 86 24 City and state from which the user is calling.
87 -105 19 ---- RESERVED FOR FUTURE USE ----
106 -119 14 Date and time the user was last on (MM-DD-YY HH:MM).
120 -122 3 Date the user last listed a directory.
123 -124 2 Number of downloads done by the user.
125 -126 2 Number of uploads done by the user.
127 -128 2 Elapsed time the user was on for day of last access.
As a programming reference, line 9400 of the BASIC source code for RBBS-
PC.BAS contains the code for opening this file. The field used to record
the users log on options is utilized as follows:
Position Length Description
49 - 50 2 Number of times the user has logged on
51 - 52 2 Last message number read by the user
53 1 Protocol Preference (X, A, M, C, I, Y, G, K, W, blank)
54 1 Graphics 0-text, 1-graphics, 2-color
55 - 56 2 Margin length for this users messages
57 - 58 2 Bit Flag -- this 16-bit field is denoted by bit 0
being the least significant (i.e. right-most bit)
and bit 15 being the most significant (i.e. left-
most bit). These "bit flags" have the following
meanings (0=off, 1=on):
BIT Definition (what ON means)
0 Bell prompts
1 "Expert" mode
2 Nulls
3 Upper case only
4 Line feeds
5 Skip old bulletins
6 Check new files on logon
7 Use autodownload
8 Required questionnaire answered
9-15 RESERVED FOR FUTURE USE
59 - 60 2 Date subscription began
61 1 Page length to use for this users terminal
62 1 ------- RESERVED FOR FUTURE USE ---------
---
14
Page 108 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
APPENDIX B -- RBBS-PC in a DESQview Environment
-----------------------------------------------
Before you continue, make certain you have read and thoroughly understand
the instruction manual provided with your copy of DESQview.
1. Modifications to DOS CONFIG.SYS and RBBS-PC batch files:
------------------------------------------------------------
The first step in using DESQview with RBBS-PC is setting up your CONFIG.SYS
file. Files=25 is probably the most critical value. This value tells DOS
how many files may be open at the same time. This value may need to be
increased if you intend to run more than 2 nodes of RBBS-PC.
A typical CONFIG.SYS file should include the following:
files=25
buffers=25
(device=ansi.sys is not required when using DESQview)
If you intend to use two or more nodes of RBBS-PC, a batch file will be
required for each node. These batch files will eventually be executed from
the DESQview "Open Window" menu and will load each node of RBBS-PC.
Contents of RBBS1.BAT Contents of RBBS2.BAT
if exist rctty1.bat del rctty1.bat if exist rctty2.bat del rctty2.bat
watchdg1 off watchdg2 off
rbbs-pc.exe 1 rbbs-pc.exe 2
watchdg1 on watchdg2 on
if exist rctty1.bat rctty1.bat if exist rctty2.bat rctty2.bat
rbbs1.bat rbbs2.bat
In the above examples, the program WATCHDOG is being used to monitor for
carrier when the SYSOP has dropped into DOS remotely or a user has opened a
Door. For example, WATCHDG1 monitors COM1 and WATCHDG2 monitors COM2. If
you aren't using WATCHDOG, leave these commands out of your batch files.
2. What to Tell RBBS-PC's "CONFIG" Utility
------------------------------------------
When using DESQview you will need to change the following parameter with
the RBBS-PC "CONFIG" utility:
Environment running concurrent RBBS-PC's ------ DESQview
3. Running Multiple Nodes (or copies) of RBBS-PC
------------------------------------------------
If you intend to use two or more nodes of RBBS-PC, you will need to change
a few additional parameters with the RBBS-PC "CONFIG" utility. When using
multiple nodes of RBBS-PC you will be using a .DEF file for each node.
Each node will have a .DEF file named RBBS?PC.DEF where ? represents the
number of the node. These are created by answering YES to the question
"Will you be running multiple copies of RBBS-PC (YES or NO)?" when the
"CONFIG" utility first loads. If you prefer to use the parameters from
your existing single node RBBS-PC.DEF file, you may simply copy that file
to the new .DEF files before you run the "CONFIG" utility. After loading
the "CONFIG" utility, it will ask you "To which copy of RBBS-PC will these
options apply (1 to 36)?" and you should respond with node number (or copy)
you want to configure.
Here are the parameters that will have to be changed for each node of RBBS-
PC you intend to use. This example is for a system with two nodes.
Page 109 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
Node DEF file--> RBBS1PC.DEF RBBS2PC.DEF
Default Configuration Parameters Parameters Parameters
-------------------------------- ----------- -----------
Communications port to be used by RBBS-PC ---- COM1 COM2
File RBBS builds dynamically to open a 'door'- D:RCTTY1.BAT D:RCTTY2.BAT
When a 'door' closes, file to re-invoke RBBS - D:RBBS1.BAT D:RBBS2.BAT
Maximum number of concurrent RBBS-PC's ------- 2 2
Please note that the preceding parameters are located on different pages of
the "CONFIG" utility. The parameter pages and numbers aren't specified to
avoid confusion in the event they are changed in subsequent versions of the
"CONFIG" utility.
4. DESQview Setup Default Settings
----------------------------------
The first step in setting up DESQview for use with RBBS-PC is specifying
the default settings for DESQview. DESQview has a program called SETUP.EXE
that you should run. After the SETUP program loads, press RETURN for the
Advanced Setup Procedure followed by a "P" for Performance defaults. Here
is an example of the settings you should use.
Advanced Setup: Performance
Task Processing Time (clock ticks)
Foreground: 4 <-----
Background: 3 <-----
Memory Usage (in K bytes)
DESQview Scripts: 1
Playback Scripts: 1
Learn Scripts: 1
System Memory: 12
High Speed Comm? (Y/N): Y <-----
Jump Scroll? (Y/N): N
Swap to Disk? (Y/N): N
The arrows above refer to changes from DESQview's default settings. NEVER
indicate more clock ticks for Background processing than you are using for
the Foreground processing. DESQview will automatically increase the amount
of Background clock ticks whenever there is little demand for Foreground
processing. This is the case when running RBBS-PC in the background and
doing word processing or a similar task in the foreground. This feature
cannot function properly if the Background clock ticks are set higher than
the Foreground clock ticks. Setting the High Speed Comm default to YES
will make communications interrupts the highest priority. This will keep
file transfers going smoothly for your callers while you are doing other
tasks or operating multiple nodes of RBBS-PC.
5. Adding RBBS-PC to DESQview's "Open Window" Menu
---------------------------------------------------
Refer to the section "Adding Your Own Program" in the DESQview manual. You
will need to "Add a Program" for each node of RBBS-PC you intend to operate
on your system. You may name the programs N1, N2, etc. N1 will load the
batch file RBBS1.BAT, N2 will load RBBS2.BAT and so on. Use the following
settings for each node (or copy) of RBBS-PC you install.
Page 110 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
Add a Program
Program Name . . . . . . RBBS-PC [node 1] Keys to use on Open Menu N1
Command to Start Program RBBS1.BAT
Path to Data Files . . . D:\RBBS (subdirectory RBBS1.BAT is located in)
Memory Size (in K) . . . 288 (see "Memory Considerations" below)
Window Position . . . . Row 0 Column 0 Height 25 Width 80
Script Buffer Size (in bytes) 1000
Options:
OFF ON---> Displays graphics information
OFF ON---> Uses its own colors
OFF ON---> Allows keyboard type-ahead
OFF ON---> Allows script type-ahead
OFF OFF
To toggle an option ON or OFF, move the cursor to the option with the TAB
key and press the + key to the right of the numeric pad. An option is ON
whenever it is highlighted on your screen. Only the first four options on
the right hand side should be highlighted before pressing RETURN to end the
"Add a Program" session. Leaving the "Displays graphics information
"option set to OFF (not highlighted) may cause your system to lock-up when
you attempt to open another window.
6. Memory Considerations
-------------------------
Current versions of DESQview require a little under 162k of your system's
memory. This leaves you with about 478k to operate RBBS-PC on a system
with 640k. Specify a minimum window size of 232k for each node of RBBS-PC
you intend to operate. Two nodes would be the maximum amount for a system
with 640k. If you choose to use RBBS-PC's external protocol drivers for
file transfers and your system's memory is 640k, you would have to tell
CONFIG that they were to be invoked by EXITing to a .BAT file rather than
SHELLing to them.
If you use the second node for SYSOP duties only, the above configuration
should work nicely. When using the second node for SYSOP duties an
additional modem and an additional RS-232 interface is not required -- all
you have to do is use CONFIG to set up the .DEF file for the node you are
going to use for SYSOP duties as using COM0. Failure to do so
will prevent your second node from loading properly.
7. Expanded Memory
-------------------
If you are using an "Expanded Memory" board that allows more than 640k to
be used for programs, the constraints discussed in the previous section may
not apply. Specify a window size of 440K for each node of RBBS-PC and
invoke the external protocol drivers by SHELLing. For information on
running programs in expanded memory, refer to the manuals for DESQview and
your particular memory board.
8. How to AUTOEXEC RBBS-PC From DESQview
----------------------------------------
Refer to the section "Learn: DESQview's Keystroke Macro Feature" in the
DESQview manual. A script assigned to the ! key (on the DESQview menu) has
a special meaning. It is performed at the time you start up DESQview,
Page 111 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
immediately after the DESQview menu appears. This is called a STARTUP
SCRIPT. You should "Learn" the Startup Script with no windows open and
with the DESQview menu displayed to be sure it will play back properly. Use
this particular script to load N1, N2, etc. of RBBS-PC. If you load
DESQview from your AUTOEXEC.BAT file, RBBS-PC will load from DESQview
automatically. This can be handy if there is a power outage while you are
away and no one is around to re-load RBBS-PC when the electricity returns.
Finally, it's suggested that you open the window(s) for RBBS-PC prior to
opening a window for any other application software.
9. RBBS-PC Technical Support For DESQview
-----------------------------------------
The preceding configuration has been given to every SYSOP that has
contacted our bulletin board system regarding DESQview usage with RBBS-PC.
It has, in every case, solved their problems with DESQview and RBBS-PC.
If you follow these instructions and continue to have difficulties, please
contact us and we will do our best to help out.
John Taylor
SYSOP, Indiana On-Line (tm)
(812) 332-RBBS /data
(812) 332-1110 /voice
Page 112 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
APPENDIX C -- RBBS-PC in a MultiLink Environment
------------------------------------------------
RBBS-PC CPC15-1B can ONLY run in a MultiLink environment with MultiLink
Version 3.02 or earlier. MultiLink Version 3.03, 4.0 and later are unable
to support programs compiled with the new BASIC compilers if the programs
write to both the communications port and the local PC's screen. Compile
and run the following simple program and you can see for yourself:
DEFINT A-Z
OPEN "COM1:1200,N,8,1,RS,CD,DS" AS #3
FOR I = 1 TO 3200
PRINT "This is line"+STR$(I)
NEXT
END
This simple program will hang MultiLink 3.03 and 4.0 because with these
newer releases, MultiLink became incapable of switching tasks correctly if
the communications port was open and the screen was scrolling.
CONFIG's allows the SYSOP to tell RBBS-PC that it will be running in a
MultiLink environment. This is ESSENTIAL when running RBBS-PC under
MultiLink. CONFIG allows the SYSOP to specify what MultiLink terminal type
code to pass to MultiLink whenever RBBS-PC exits to DOS via a "Door". Page
15 of the MultiLink documentation specifies the various terminal type
codes. When a SYSOP indicates that "doors" are available (via parameter 81
of CONFIG) and RBBS-PC is to be run under MultiLink, the SYSOP is asked
to select the MultiLink terminal type that RBBS-PC is to inform MultiLink
to expect when MultiLink is given control of the "Door."
RBBS-PC CPC15-1B has been tested running two copies of RBBS-PC under DOS
3.1 and MultiLink Advanced (version 3.02) on an IBM PC which had a mother-
board containing 256K and an AST Comboplus board with 384K (a total of
640K). The "autoexec" file was named AUTOEXEC.BAT and contained the
following parameters
MLINK /9,288/9,288
NOTE! ==> I have been unable to get multiple copies of RBBS-PC to run
under either MultiLink 3.03 or MultiLink 4.0 (newer releases of
MultiLink) with the above configuration. Instead I have had to
set the MLINK command to
MLINK /1,182,1,xxx/1,182,1,xxx
where xxx is the baud rate that you want the modem initialize
at. Additionally, this has only function when patches through 7
were applied to ML 3.03. Applying subsequent patches caused
very strange results.
It is important to avoid doing several things when running RBBS-PC under
MultiLink. First, NEVER RUN MLSLICE! This is because MLSLICE hangs off
the PC's timer chain and the code generated by the BASIC compilers violates
all sorts of DOS conventions whenever it is utilizing the PC's speaker
(i.e. as when RBBS-PC pages the SYSOP). In so doing, the code generated by
the BASIC compilers is incompatible with programs that do follow DOS
conventions.
Second, NEVER use the DOS "PRINT" command! This is because there is a bug
in the code generated by the BASIC compiler that causes the system to hang
if a compiled BASIC program is running and DOS is printing something. This
bug has been corrected in the BASIC compiler that was used to generate
Page 113 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
RBBS-PC.EXE that is distributed. However the version of RBBS-PC that you
get (if other than from CPCUG) may not have this bug corrected. This is a
bug that occurs independent of running MultiLink.
Third, check your Intel 8088 chip's copyright date by opening up the cover
and locating the 8088 chip. If the copyright date printed on the chip is
1978 (i.e. pre 1981), REPLACE THE INTEL 8088 CHIP!!!!! The 1978 Intel 8088
chip had several design flaws that will cause your system to lock up
occasionally. One of these design flaws allowed interrupts to occur while
stack switching (something that will happen running multiple partitions
doing disk I/O under any multi-tasking DOS add-on such as MultiLink or even
IBM's TopView). Don't blame MultiLink for the flawed Intel 8088 chip that
IBM put in your PC! It costs about $70 ($35 for the chip and $35 for
labor) and takes about 15 minutes to have the 1978 Intel 8088 chip
replaced. In fact, if you are going to replace your 1978 Intel 8088 chip,
you might consider the newer (and 5% to 10% faster) NEC V20 chip.
Fourth, DON'T USE "BUFFERS=" in the CONFIG.SYS for DOS! This may be an
"old wives tale," but I am convinced (but can't prove) that there are
incompatibilities between the code the BASIC compiler generates, DOS's use
of "BUFFERS=", and MultiLink.
Fifth, DON'T ALLOW MNP PROTOCOL for file transfers. An incompatibility
exists between the Software Link, Inc.'s Multi-Link and MICROCOM's MNP
software. Until the respective vendor's resolve this, don't use both
products concurrently!
Sixth, RBBS-PC will only run in Background 1 or Background 2.
Finally, DON'T RUN PROGRAMS THAT USE THE BASIC "RUN-TIME" LIBRARY, and
always invoke the BASIC interpreter with the command BASIC /C:0! Both the
BASIC interpreter's handling of communications ports and BASRUN.EXE seem to
violate enough DOS conventions to "lock up" MultiLink.
When RBBS-PC detects that it is running in a MultiLink environment it will
automatically do the following:
1. When re-cycling, it will automatically enque on the correct
MultiLink resource ID for the communications port defined
in CONFIG for that copy of RBBS-PC to use.
2. When re-cycling, it will automatically tell MultiLink that
this is a type "9" partition (i.e. MultiLink is NOT to handle
the communications port).
3. When exiting to DOS via a "door", RBBS-PC will automatically
tell MultiLink to start handling the communications for this
partition (COM1 or COM2) and what type of terminal was defined
in CONFIG that would be on the communications port (MultiLink
terminal types 1 through 12).
Manually, it is possible to bring up and run one copy of RBBS-PC under
MultiLink. The only way that I have been able to bring up two copies of
RBBS-PC successfully (one copy running in each of two partitions) was to
bring them up via AUTOEXE1.BAT and AUTOEXE2.BAT files. It appears that
during the MultiLink initialization sequence when the partitions are being
established and the "AUTOEXEx.BAT" files are being invoked that MultiLink
doesn't get "confused" and lock up with a second copy of RBBS-PC present.
If using Multi-Link to run multiple nodes in the same machine under
DOS 3.x or above, it is recommended that the SYSOP execute SHARE.COM prior
to starting multiple RBBS-PC nodes under Multi-Link and specify FILES=20 in
the CONFIG.SYS file.
Page 114 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
APPENDIX D -- RBBS-PC in a CORVUS Network
-----------------------------------------
RBBS-PC uses the standard Corvus SEMAPHORES when sharing files among
multiple copies of RBBS-PC within a Corvus Network. This is accomplished
via the MS-DOS utility driver, DRIVEC2, that Corvus supplies with its
network.
On a multi-server Corvus network (i.e. where there are multiple shared hard
disk drives) all PC's that are running RBBS-PC within the Corvus network
MUST have their "home volume" on the same server. Corvus maintains each
PC's semaphores on that PC's "home volume". In order to "share" files
among various PC's in a Corvus network, all the PC's that are "sharing"
must also be looking at the same set of semaphores. In a single-server
Corvus network this is not a consideration because there is only one "home
volume."
RBBS-PC has been only tested with the Corvus CONSTELLATION II interface
cards and software that Corvus provides for the IBM PC. RBBS-PC should
work with both Corvus' older "flat cable" network as well as their newer
OMNINET twisted wire pair cable network when running CONSTELLATION II
software. It is entirely possible that RBBS-PC would work with some
combination of both Corvus network types as long as they were running
CONSTELLATION II software.
It should be self-evident that every PC within a Corvus network running
RBBS-PC must have a Corvus interface card. If multiple copies of RBBS-PC
are running in a Corvus network that is using older Corvus software (i.e.
NOT running the CONSTELLATION II software), the interface cards must, at
least, all have the CONSTELLATION II ROM.
RBBS-PC is tested only to run on IBM PC's within a Corvus network. Clearly
an IBM "clone" that can run IBM's DOS, RBBS-PC.EXE, and is supported by
Corvus' network should also work. However, such configurations (and their
many variations) are not part of the environment within which RBBS-PC is
tested and supported.
Page 115 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
APPENDIX E -- RBBS-PC in an ORCHID PCnet NETWORK or AST PCnet NETWORK
---------------------------------------------------------------------
RBBS-PC CPC15-1B can be implemented on an Orchid PCnet or AST PCnet Network
environment. It is assumed that the necessary network hardware is
installed correctly.
The following discussion describes a network currently in operation and
receiving more than 1000 calls per week on two telephone lines for the
Computer Connection of Virginia Beach.
Equipment Employed
1. 80286 based SERVER with base memory of 512K running at
up to 9 mghz and containing the following:
Parallel-Serial Board for the AT with the serial
port addressed as COM1
AST Rampage memory board configured with 2 megs of
expanded memory
Monochrome Adapter with parallel printer port
PC Net adapter addressed as 0080 with default jumpers
Hard disk that can be divided into multiple volumes
Single High Density [1.2 meg] floppy disk
External modem and cable connected to COM1
2. 8088 based WORKSTATION with base memory of 640K running
at up to 8 mghz and containing the following:
multifunction board with async port addressed as
COM1, a clock, and parallel port
PC Net adapter addressed as 0011 with default jumpers
Color Graphics Adapter
Two 360K floppy drives
External modem and cable connected to COM1
Software -
1. Operating System = DOS 3.1 network-wide
2. Network Software = Orchid PC Net 3.0a
3. Disk Caching Software = Orchid CACHE.EXE version 2.2
4. RAM Disk = AST FASTDISK
Installation -
Preliminaries
1. Backup hard disk, system and network disks.
2. If any other hardware configuration than above, be sure to
resolve INTerrupt conflicts with the PC NET adapters. If
there are second serial or parallel ports in the system,
you should disable them.
Using the WORKSTATION, boot with DOS 3.1 then
1. Place the Orchid Network System disk in A: and a blank formatted
system disk in B:, create the SERVER and WORKSTATION boot disks
with SPCGEN and UPCGEN commands, respectively.
2. Copy device drivers for the hard disk, for the RAM disk, and for
Expanded and Extended memory (REMM.SYS and REX.SYS) to the SERVER
boot disk as well as CACHE.EXE. Using your favorite ASCII text
editor, create the following CONFIG.SYS file:
device=spc.com <--- Network SERVER driver
device=REMM.SYS <--- Expanded memory driver
device=rex.sys 1024 <--- Emulated extended memory of 1 mb
device=fastdisk.sys 1024 512 128 /e <--- RAM disk of in extended memory
Page 116 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
Place the following commands in the AUTOEXEC.BAT file:
disk13 <--- Network required for floppy disk use
cache [drives] d=128 x=896 /r <--- Cache using 128 of DOS memory and
and 896K of EMS memory for drives
assigned on the Server to reduce number
of disk accesses
spcbio 138023 <--- Server network program stating the
interrupts used
Using the SERVER, boot with the newly created SERVER boot disk
1. Run the network program SPCINST.
2. After naming all the available drives on the server, assign
all the hard drive volumes to the WORKSTATION # 11 and
make them all READ/WRITE capable. "Remote Execution" need
not be enabled.
3. The SERVER will then reboot and the network will have the
final configuration as outlined above.
Using the WORKSTATION, boot with the newly created WORKSTATION boot
disk then perform the following steps:
1. Add to the CONFIG.SYS file for the WORKSTATION the command,
FILES = 16.
2. Run the network program UPCINST and set it up to communicate
with SERVER # 80.
3. "Map" in all the drives that were assigned by the SERVER.
4. The WORKSTATION will then reboot so the changes can take
effect.
5. After the booting is completed, do a DIR C: to see if one
can read the directory on the SERVER hard disk. If not,
recheck cables, plug-in cards for INTerrupt conflicts, and network
adapter cards to verify all jumper settings. If necessary,
run the SELFTEST and NETTEST diagnostics for the network
adapter cards. Also, demonstrate the ability to copy files
across the network to and from the server then verify the
transfer using the COMP command.
Assuming that you are able to do a DIR across the network and copy files to
and from the SERVER, you are then ready to run CONFIG.EXE of RBBS-PC.
CONFIG Options for PC Net - Start up CONFIG and confirm use of RBBS in a
multinode environment. Assign the number 1 Node to your SERVER.
1. Assign all welcome, bulletin, help and menu files to the SERVER's
RAM drive so the workstation may access them in the fastest way.
2. Store FILESEC, PASSWRDS, MESSAGES, USERS and other sensitive
files in a non-downloadable but sharable drive volume on the
SERVER so the workstation may have read/write access to them.
3. Select a location for the SERVER's CALLERS file and the
WORKSTATION's [option 85].
4. Give unique names for BATch file options, e.g. RCTTY1.BAT and
RCTTY2.BAT, RBBS1.BAT and RBBS2.BAT using the numbers to indicate
the node number assignment.
5. Choose PCNET as the environment that you are running RBBS-PC
under [option 142].
Other Considerations
1. VDISK or Extended memory, which is not-emulated memory, should not
be used on the SERVER but can be used on the Workstation. The
network configuration most likely to remain operating with very
Page 117 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
few problems is DOS 3.1, Orchid 3.0a PC NET software and CACHE.EXE
version 2.2 and an Expanded/Extended memory combination using the
new Lotus/Intel/Microsoft EMS memory boards. [Many thanks to
Charles Innusa of PC Rockland for sharing this information!]
2. Two nodes can be efficiently set up using the SERVER in non-dedicated
mode but the danger is that if the SERVER locks up, the whole system
locks up. The sample PC Net system is set up in this fashion but
it is an economical approach to a two node system which has been
functioning quite well with minimal problems. Do not run software
on the SERVER that is known to cause problems especially memory
resident utilities.
3. There is a potential for files being CROSS-LINKED in any read/write
sharable environment. Frequent backups are to be very strongly
recommended.
Rob Cecchino
Sysop, Computer Connection
(804) 481-1824 @ 1200/2400 for assistance.
Because of wide variety of hardware combinations and possible network
permutations, the above is intended ONLY as general guidelines to be
followed when installing RBBS-PC on your Orchid network.
Page 118 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
APPENDIX F -- RBBS-PC in an Alloy PC-SLAVE/16 Environment
---------------------------------------------------------
The PC-Slave is an IBM compatible computer on an expansion card
manufactured by Alloy Computer Products, Inc. of Framingham, MA 01701.
Their telephone number is (617) 875-6100. Adding PC-Slaves converts the PC
from a single CPU to a multiple CPU, all under the control of the main or
host PC. Each slave can run RBBS-PC (or other programs).
A. THE ADVANTAGES: Compared to other means for running multiple RBBS-PC's,
the advantages of slaves are:
1. SPEED -- Each copy of RBBS has a dedicated computer and therefore runs
very fast compared to multi-tasking products like Multi-Link, DesqView, or
Top View.
2. SHARED FILES -- Each bulletin board can share files, including the users
and messages. The PC Slave system acts like Orchid's PC-Net network for
record locking.
3. EXPANDABILITY -- You can have up to 31 slaves. The big advantage over
Multi-Link is that you have faster boards and can expand beyond 2 boards.
The big advantage over networks is that you do not have to add another PC,
just another slave. The power supply and cooling capacity of a PC-2 limit
you to adding only 1 slave. An XT and AT can have more. You can buy PC
compatibles that have more expansion slots. You can also get an external
hard disk with expansion slots. Or you can buy an expansion chassis.
4. COSTS -- It is far cheaper to expand using PC-Slave/16's than a
network. The PC-Slave lists for $900 and can be purchased for
significantly less. Other networks require not only a separate PC but also
a "network" card of some sort which puts the costs of each port well above
$2,000.
5. DEDICATED PC IS NOT REQUIRED -- Your PC can remain free for you to use
while slaves run the bulletin boards (or run another copy of the bulletin
board). You do not degrade performance on the slaves, except for
contention for the hard disk and that can be mitigated by using disk
caching.
B. THE DISADVANTAGES: The disadvantages of a slave system are:
1. Not all hard disks are compatible with the slaves. Hard disks known to
be compatible include the 20 meg Seagate, Priam 60 meg, and Bernoulli hard
disks, as well as the Alloy line of hard disks. Hard disks definitely not
compatible include all models of US Design.
2. There is no easy or cheap way to view the sessions on a monitor.
Standard IBM PC monitors cannot be attached to a slave, though there are
several monitors that can be. A special cable is required. The cheapest
effective solution is to have a single monitor attached to a switch box
that lets the activity be viewed on any slave.
3. Neither DOORS nor dropping to DOS can be done safely on a slave. The
danger is that if carrier is dropped, the modem may continue to answer the
phone and potentially let a new caller pick up the same session without
being identified as a different caller.
4. At most two drives can be shared for writing. All drives can be read
from any slaves, but to write on a non-shared drive, no other can write to
it.
Page 119 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
C. OVERVIEW OF SETTING UP A PC-SLAVE/16 RBBS_PC: Five easy steps on how to
install RBBS-PC in a PC-Slave/16 environment (Note that the PC Slave system
requires a special configuration for RBBS):
STEP 1 -- You will have to purchase multiple telephone lines. They can be
made to roll so that only one number is called, and if busy, the call will
roll over to the other lines.
STEP 2 -- Install the slaves. Remember to set switches on the slave
boards that number them consecutively. See the PC-Slave documentation for
details.
STEP 3 -- Install the software. The Alloy PC-Slave has to have special
Alloy software called ATNX to coordinate the slaves and process requests
for shared resources. You also have to run an Alloy routine to prepare
your hard disk for use with the Alloy slaves. See the PC-Slave
documentation for details.
STEP 4 -- Install a modem with no pin 22. Pin 22 used to be required with
RBBS in order to answer the phone. On the slaves, pin 22 CANNOT be
connected, or else the slave will continuously reboot.
STEP 5 Configure RBBS-PC using CONFIG.EXE with the following options:
(a) use COM2
(b) Number of rings to wait before answering: 0
(c) Tell RBBS you are running on an IBM compatible
rather than a PC, XT, or AT. (Lie and tell RBBS
you have a Compaq Plus.)
(d) Set the maximum number of bulletin boards to as
many boards as you intend to install (rather than
the number you are currently running. This makes
expansion easier.).
(e) PC-Net is the multi-user environment you will be
running under.
(f) Set up the RBBS files.
An easy way to configure the multiple RBBS's is to put each one in a
separate subdirectory, e.g. "RBBS1" for the 1st node, "RBBS2" for the
second, etc. Inside each subdirectory will be the callers file for that
node and the DEF file (RBBS1PC.DEF, RBBS2PC.DEF, etc.). The DEF files can
be the same. Make the default drive on each slave be the right
subdirectory. Path over to where the RBBS-PC.EXE is stored. Invoke each
RBBS by using its node number, e.g. "RBBS-PC 1", "RBBS-PC 2", etc. You can
set up an autoexec for each slave that brings up the boards automatically
upon system boot.
Please note that the ATNX software is very vulnerable to any RAM resident
software. You should install the Slaves with no additional software
present and carefully test any resident software you want to run with it.
D. A DETAILED DESCRIPTION OF SETTING UP A PC-SLAVE 16 RBBS-PC:
Hardware Limitations:
1. Two PC/Slave 16 cards per XT box or three in an AT maximum
otherwise you'll be buying power supplies frequently. An
expansion chassis for four cards (Alloy Plus4) or expansion
chassis for up to nine cards will be needed for bigger systems.
Expansions boxes can be daisy-chained to up to thirty one
Nodes or workstations, if needed.
Page 120 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
2. PC/Slave 16 cards do not support PIN 22 for Ring Detect. You
must be able to set your modem to AutoAnswer as well as NOT have
PIN 22 wired on your modem cables; if PIN 22 is connected, each
callers RING will reboot the Slave.
3. No clock on the PC/Slave 16 card. The Slave gets the Time and
date from the main system clock and so one must be available.
4. A terminal such as a Kimtron KT-7/PC or Alloy PCST is required
to locally access and TYPE to a Slave. Other terminals will work
but may not support all of the IBM extended graphics codes. For
a multi-node RBBS, I use one terminal with an A-B-C-D switching
box to 'dial in' the node I wish to TYPE to or SNOOP on.
5. The Slaves' CPU [NEC V20 @ 8 mghz] shuts down when writing to
the hard disk. This creates problems with timeout errors on
uploads which can be almost completely eliminated by using a
fast hard drive supported by Alloy and known to work; I use
Priam's ID60ATs. Also, the hard drive must be formatted with
the most efficient interleave setting and driver. Hard drives
that work without significant upload timeout errors have been
formatted with either Golden Bow's Vfeature Deluxe or Priam's
formatting software; this problem is especially noticeable on
AT systems and not too much of a problem on small XT systems.
Seagate, Bernoulli Box, Maxtors, and Priam Inner Space drives
seem to work fine with the Alloy PC/Slave-16 cards.
Software Limitations:
1. ATNX runs Orchid PC Net applications but NTNX is more versatile
and will run applications for Novell's Advanced Netware, MS-Net,
AND Orchid PC Net with proper file locking. NTNX has had less
problems with file corruption and cross-linking than ATNX after
polling current sysops using Alloy Slaves.
2. ATNX and NTNX will allow users working on Slaves to easily and
routinely have read/write access on only TWO hard drive volumes.
3. ATNX and NTNX have difficulty keeping track of system date and
time when "certain" programs are run on the Slave. With RBBS,
running external protocols such as Ymodem and WXmodem cause the
time and date on the Slaves to go awry. Also, WXMODEM does not
work in upload mode on Slaves due to a timing problem in the
initial handshake. Alloy's solution to this problem is a file
called UPTIME.COM, which is run on the HOST, but I have had very
poor results with it. The problem seems to be most identifiable
on AT class machines.
For the optimum system flexibility you may want to buy Alloy PC/Slave-16N
cards which have the special PAL chip for NTNX/Novelle compatibility and
NTNX software (current version is 1.6). RBBS-PC, however, will run fine
without the PAL chip even under NTNX.
Some nice additional utilities for the Slaves, including special
diagnostics, are found in the separate PC-Plus Advanced User's Kit and are
worth having. A single Kimtron KT-7/PC terminal or other smart terminal
may be obtained right away but is not necessary for the bulletin-board-only
system as one can always sign on from remote for answering mail; pay
special attention to the terminal-to-Slave cable as it is non-standard and
you'll probably wind up making it yourself for less than $5 in parts -- one
end is a male 9-pin D-shell and the other is 25-pin RS232 male connector.
Page 121 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
For a two to four node system, obtain a T-Switch box from Inmacs or
RadioShack to hook the terminal as COMMON and Slave consoles. The computer
to house the Slaves, called the HOST, should be the quickest CPU speed that
you can obtain; I use an 'old' IBM AT running at 8/9 mghz with three Slaves
and an AST Advantage with 128K to round out the host to 640K. All PC
Slaves/16 should be purchased with 1 megabyte of onboard RAM.
Installation:
1. Format your hard drive with either DOS 3.1 or 3.2.
2. Divide the hard drive into multiple volumes of standard DOS
size (less than 32 megabytes).
3. Install NTNX or ATNX and the Slaves as is written in the
Alloy manuals. Choose the default settings for everything.
Use 512K on the 1 megabyte PC/Slave for caching and the other
512 to run RBBS. Depending on how the board is configured,
you may need to set switches so that 512 is used to run
applications. Use 4K for the Host PC caching. Allocate 25
files per each Slave + 64 for the maximum number of open files.
4. Set up the CONFIG.SYS and AUTOEXEC.BAT files for the HOST as
follows especially if you do not plan to use the HOST as a
Node for RBBS-PC:
CONFIG.SYS
device=NX.SYS - NTNX driver (must be first!!)
device=hard_drv.sys - Your hard Disk driver
FCBS = 32,32 - File Control Blocks increased
buffers = 20 - DOS buffers
files = 32 - Number of OPEN files on HOST
device = ANSI.sys - Extended graphics driver
AUTOEXEC.BAT
NTNX - NTNX driver
fm 3 - Level of File protection
prompt $p$g - customized dos prompt
path = ........ - set path to the NTNX files
4. Set up the CONFIG.SYS and AUTOEXEC.BAT files for the Slaves as
follows:
CONFIG.U0x under DOS 3.2
FCBS = 32,32
buffers = 10
files = 30
device = ansi.sys
shell = C:\COMMAND.SLV C:\ /P /E:800
device = ANSI.SYS
Of special note, the SHELL statement has been used to expand
the environment space on the Slaves. This corrects a problem seen
with random RBBS lockups or getting Out of Memory errors; external
protocols and DOOR programs, given time, stop running due to memory
problems if one doesn't use this SHELL statement. Under DOS 3.1,
set /E:50 [= 50 paragraphs] and under DOS 3.2, set /E:800 [= 800
bytes].
AUTOEXEC.U0x
fm 3
Page 122 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
prompt $p$g
path = ....... Set the path to the NTNX files and
to the 'home' directory for this
node on the SHARED drives
cd\RBBS0x Change to RBBS directory for Node x
RBBSx.BAT Invoke RBBS-PC for Node x
5. Configuration. When running CONFIG with slaves, you must
select the following options:
a. Type of computer: Compaq Plus.
b. Number of rings to wait before answering: 0.
c. Environment: Orchid PC Net.
d. Communications port: 2.
e. Maximum number of users: at least as many slaves as
you have, plus one if you plan to run a node on the
host. You can specify more if you want to plan for
expansion.
6. Set up RBBS-PC as follows:
a. Create subdirectories \RBBS01, \RBBS02, \RBBS0x... on one
of the shared drives.
b. Create subdirectory \MAIN for your upload directory,
answers to questionnaires, comments.
c. On a cached drive, place all static RBBS-PC files such
as MENUs, HELPs, PASSWRDS, TRASHCAN, external file transfer
protocols. RBBS-PC.EXE and CONFIG.EXE go here as well.
d. On the second SHARED drive, make a subdirectory \COMMON for
MESSAGES, USERS, CONFENCE, and conference message/user
files.
e. If you plan to use DOORS, especially Bob Westcott's
DOORWARE, create a subdirectory called \DOORS on the SHARED
drive.
f. Run CONFIG and create RBBSxPC.DEF files for all your nodes.
Remember that you will run multi-user under PC Net. To answer
on RING zero, the modem serial port on the Slaves must be
addressed as COM2 and not COM1. Double-check file locations!
You may need to edit your .DEF files to append subdirectory names
for many of the file locations as CONFIG.EXE does not offer
full subdirectory parameters yet. Or, by putting your static
text files in the same subdir as MESSAGES and USERS and making
it the default subdirectory, you will not need to edit config.
Then copy RBBS1PC.DEF to RBBSxPC.DEF for each node that you hope
to have then re-edit each .DEF file to customize Node
numbers such as RCTTY1.BAT, RBBS3.BAT, etc. Finally, copy
the RBBSxPC.DEF file to the matching subdirectory. If you
don't wish to edit the .DEF files, place RBBSxPC.DEF on one
shared drive and place the dynamic RBBS files on the other
shared drive; be sure that you have at least logged into
that other SHARED drive's subdirectory, using the AUTOEXEC.U0x
before starting RBBS or else RBBS-PC will not find those files.
g. Temporary files used for transfer or Verbose ARC listing are
created on the default subdirectory automatically. You may
assign CALLERS as either one file for all nodes or one CALLERS
file for each node located in the default directory.
h. To use Sysop Function 7 (Remote Drop to DOS), RBBS-PC must find
COMMAND.COM. PC-Slave/16's, however, use COMMAND.SLV as the
command processor; copy COMMAND.SLV to COMMAND.COM, place it on
a cached drive, and tell CONFIG where to find it. Be careful
using this Sysop function with the Slaves as you will lock up
the Node if you lose carrier; WATCHDOG is incompatible with the
Slaves.
Page 123 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
Additional tips/hints:
1. Avoid using any memory resident utilities. They may interfere with
Slave operation.
2. Most of the time, my terminal stays off and I use a program on
the Advanced Utilities disk called SEE.COM to view callers
on-line any Node from the HOST.
3. Norton's Editor or WordPerfect Corporation's Programmers Editor
from the WordPerfect Library is used for editing operations on
the system, especially for maintaining the fixed-length directory of
the file management system. Not many other editors, except EDLIN, can
be used reliably.
4. Fine tune the network by adding as much cache for memory on the HOST
as you can spare to as many drives as you have. This helps to reduce
hard disk wear and tear.
5. Easy to forget but don't as it will be a source of frustration -- plan
out your file locations on paper before actually setting up the system.
6. Backup your system frequently!
If you have any questions or problems, feel free to leave a message on
my system or call me direct.
Rob Cecchino
Sysop, Computer Connection of Virginia Beach
Data (804) 481-9067 @ 300/1200/2400
Acknowledgments: The following individuals have helped me clarify the
complexities of the Alloy PC Slave system:
Ken Goosens of the FNMA-Software Exchange BBS (202)537-7475
Paul Kopit of the Software Society BBS (201) 729-7410
Paul Waldinger of the Sound of Music BBS (516)536-8723
Scott Williamson of the Alloy Support BBS (617)875-4229
Page 124 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
APPENDIX G -- RBBS-PC and 10 NET Network
----------------------------------------
Starting with RBBS-PC CPC15-1A support for Fox Researchs' 10 Net Network is
being provided.
Since this is the first release with this support we have very little that
we can offer in tuning support for 10 NET.
We selected to use the Semaphore locking mechanism that we have used in the
other networks and therefore you must specify the following parameters on
the Superstation in your 10 NET network.
LOGINS=x 1 for every node on the system
OPENFILE=xxx 10 for every node running RBBS-PC
SHAREFIL=16 (This is the default you can add more if you want)
LOCKS=x 3
SEMA=xxx 3 for every node running RBBS-PC
You will also need to run NETSU and specify option 6 (DOS file sharing).
Please note that these values should be in addition to any parameters you
may have already specified for other User stations and other uses of your
10 NET network. And you can always make the values larger in attempting to
improve performance.
Page 125 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
APPENDIX H -- RBBS-PC and the Hearing-Impaired
----------------------------------------------
Telecommunications Devices for the Deaf (TDD's) use the Baudot character
set (i.e. 5-bit) and utilize modems that transmit at 45 baud and do not
generate a carrier signal. This is because such devices were initially
adaptations of surplus Western Union TTY machines for telephone
communications. The widespread use of Baudot devices by the hearing-
impaired, the previous high cost of computers and modems, and the lack of
software designed for electronic communications, has impeded the change to
ASCII communications by the hearing-impaired community.
Equipment manufacturers have also made it difficult for the deaf to change.
When TDD's with ASCII code transmission capability began to be offered, the
majority of manufacturers limited them to only 110 baud and put disclaimers
in their manuals that said ASCII was available for use but that "computer
language" was "less reliable" and hard to use. Their limiting of the TDD's
output screen to 12 to 20 characters further compounded the problem because
the screen would overwrite several times to display one line of text from a
host system. The manufacturers' "solution" to this problem was to
recommend printers for communication with such "host" systems as RBBS-PC.
Some units now offer both 110 and 300 baud ASCII transmission in addition
to the 45 baud Baudot. Unfortunately, these typically have only 20
character screens.
In December of 1984, Ted Janossy of Rochester, Minnesota, sent me a three-
page letter describing the above situation. Ted's letter motivated me to
test and verify the "ring-back" feature of RBBS-PC in CPC12-4A. It had
not been tested in earlier versions because I had assumed (presumptuously
and insensitively) that "real SYSOP's don't use ring-back RBBS-PC's."
Ted's letter awakened me to the potential of RBBS-PC to facilitate
communications among the hearing-impaired. In the awakening I also had a
chance to look down at my own feet of clay.
RBBS-PC can be configured to answer calls only after a specified number of
rings (i.e. 15). The telephone companies wire the homes of the hearing-
impaired such that when the phone rings, the lights within the house flash
on and off.
With RBBS-PC a SYSOP can specify the number of rings RBBS-PC is to wait
before answering the phone automatically. Setting this number high enough
allows someone with a hearing impairment time enough to get to the PC
running RBBS-PC. Pressing the PC's function key 5 (F5) causes RBBS-PC to
answer the phone immediately. The caller would know that someone was at
the keyboard because RBBS-PC answered the phone in less than the agreed-
upon number of rings. The caller would log onto RBBS-PC normally and the
person at the PC keyboard would be able to see who it was. If the person
who was called wanted to "chat" with the caller, all they would have to do
would be to press function key 10 (F10).
If RBBS-PC didn't answer the telephone within the agreed-upon number of
rings, the caller would know that whomever was being called couldn't come
to the keyboard. The caller would then log on and leave a message.
I would like to thank Ted and his wife, Sue, for caring enough to show
where RBBS-PC might fulfill one of it's primary purposes, "the free
exchange of information," by enhancing telecommunications for the deaf.
Page 126 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
APPENDIX I -- RBBS-PC and the IBM PCjr
--------------------------------------
RBBS-PC adheres to the Hayes standards for autoanswer applications that are
described in Section 9, "Writing Programs for the Smartmodem 1200," of the
the SMARTMODEM 1200 HARDWARE REFERENCE MANUAL. Under the section entitled
"Additional Program Considerations" Hayes recommends that autoanswer
applications (like RBBS-PC) "... force the modem to answer the call (ATA)
rather than allowing the modem to automatically answer...." Beginning
with CPC13-1A, RBBS-PC no longer REQUIRES the Ring Indicator signal from
the modem (pin 22) in order to answer the phone (except if parameter 204 of
CONFIG is non-zero).
Here are some facts about the PCjr:
1. The PCjr's external modem interface does not have a Ring Indicator
signal.
2. The PCjr requires that an external modem be opened as COM1 if no
internal modem is installed. However, if no internal modem exists the PCjr
requires that the COM2 RS-232 registers be used even though the port has
been opened as COM1. Technically this is described as using the external
RS-232 asynchronous adapter as logical channel 1 (i.e. COM1) but
manipulating it as physical channel 2 (i.e. COM2). This occurs on a PCjr
only when an internal modem is NOT present and the external RS-232
interface is.
3. The 128K PCjr only provides 90K of usable RAM (the rest is used by DOS,
the monitor's buffers, etc.). Fortunately PCjr owners can get up to 256K
of RAM with "add-on" equipment (from IBM and others) in order to have
enough RAM for RBBS-PC to run in.
4. The standard PCjr supplied by IBM does not have a DMA and hence can't
do communications I/O simultaneously while doing disk I/O.
RBBS-PC beginning with version CPC13-1A will run an IBM PCjr providing that
the PCjr
1. Has at least 256K of memory.
2. Disk I/O does not occur simultaneously with communications I/O (i.e.
either you have a second disk drive with a DMA or you set BUFFERS=0).
3. One of the following three modem configurations are used:
a.) An internal PCjr modem with an external Hayes modem
where the external Hayes modem is used for RBBS-PC.
b.) No internal PCjr modem with only an external Hayes modem
used for RBBS-PC.
c.) An internal PCjr modem with NO external Hayes modem used
for RBBS-PC.
The following discusses each of these three modem configurations supported
by RBBS-PC with the PCjr.
Internal PCjr Modem with RBBS-PC Using External Hayes Modem
-----------------------------------------------------------
This configuration means that the PCjr has both a COM1 (the internal PCjr
modem) and a COM2 (the external Hayes modem). RBBS-PC is set up to use
COM2. No changes are required to for RBBS-PC for this type of PCjr
Page 127 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
configuration. CONFIG parameter 204 should be set to 0. This will cause
RBBS-PC to set the external Hayes modem into "auto-answer" mode and RBBS-PC
will wait for carrier detect. This is the way that RBBS-PC overcomes the
PCjr's lack of "ring-indicator" signal for the external communications
port.
No Internal PCjr Modem With RBBS-PC Using External Hayes Modem
--------------------------------------------------------------
This configuration means that the PCjr has only one RS-232 interface -- the
external Hayes modem. This must be opened as COM1 but use COM2's registers
to control the communications port (believe it or not that's the way IBM
designed the PCjr).
CONFIG parameter 201 should be used to indicate that COM1 is being used.
Unfortunately the current BASIC compilers (both IBM's Version 2 and
Microsoft's QuickBASIC) are incapable of handling a communication port as
logical device 1 (i.e. COM1) but on physical channel 2 (i.e. the interrupts
are for COM2).
Should this ever be fixed by either IBM or Microsoft, CONFIG parameter 31
should be used to indicate that no internal PCjr modem is installed. This
tells CONFIG to make sure that COM2 registers are used to manipulate the
PCjr's external communications port.
Until this is fixed by the respective vendors, the PCjr user will have to
run a utility like COMSWAP that exchanges the pointers between COM1 and
COM2 within DOS.
In either case, CONFIG parameter 204 should be set to 0. This will cause
RBBS-PC to set the external Hayes modem into "auto-answer" mode and RBBS-PC
will wait for carrier detect. This is the way that RBBS-PC overcomes the
PCjr's lack of "ring-indicator" signal for the external communications
port. Again no changes to RBBS-PC are required for this type of PCjr
configuration.
Only An Internal PCjr Modem for RBBS and NO External Hayes Modem
----------------------------------------------------------------
For this type of PCjr configuration, you can take the CONFIG default
settings for the communications port (COM1) and specify that you are
running on a PCjr (parameter 36). However, make sure that CONFIG parameter
208 specifies that the modem is to be opened at 300 baud. Of course, RBBS-
PC will be only able to answer the telephone at 300 baud and send and
receive data from users who log on with their communications parameters set
at N/8/1 (i.e. no parity, eight data bits, and one stop bit) since RBBS-PC
is limited by the PCjr's own modem's limitations.
RBBS-PC already has the modem commands for the PCjr's very strange internal
modem in the logic to answer the phone so no changes to the .DEF file are
required.
Page 128 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
APPENDIX J -- RBBS-PC Subscription Service
------------------------------------------
It seems that many people absolutely must be on the bleeding edge of RBBS-
PC and demand each new version as soon as possible after it is released.
Since downloading it from my RBBS-PC usually keeps my board busy 24 hours a
day, seven days a week when each new version is released, and I want my
board to be used to encourage and engage in discussions, I offer the RBBS-
PC "Subscription Service" in order to free up my board.
Within the United States for $35 (prepaid by check or money order) you can
be guaranteed next day delivery of the very NEXT release of RBBS-PC just as
I mail it to the CPCUG Software Exchange. The diskettes will be sent to
you directly via Federal Express's "Courier-Pak" Overnight Envelope. In
case you are wondering who gets the $35 it is allocated as follows:
$ 25 -- Federal Express Charge for Courier-Pak
8 -- CPCUG Software Exchange
2 -- for the hassle the family puts up with and for rate changes
----
$ 35 = Total Cost Add: $5 for Alaska, Hawaii, and Puerto Rico
$11 for Europe, the Far East, and Australasia
Hopefully, this service will only be used by a very, VERY few! Most
releases have a few fixes that get published within the first week or two
that they are out. Because of this everyone is advised to check back for
fixes after each release goes out.
To obtain this service for the NEXT release (it does NOT apply to the
current or previous releases) fill out the following form and send it along
with your check or money order in U.S. funds (no purchase orders are
accepted and your canceled check is your only invoice).
+--------------------------------------------------------------+
| To: D. Thomas Mack RBBS-PC Subscription Service to|
| 10210 Oxfordshire Road the NEXT release of RBBS-PC (if|
| Great Falls, Virginia any, and none are implied or |
| 22066 promised by this offer) |
|--------------------------------------------------------------|
|Date Requested: Date Received: |
|--------------------------------------------------------------|
|To (Recipient's Name): |
|--------------------------------------------------------------|
|Recipient's Phone Number (required): ( ) - |
|--------------------------------------------------------------|
|Exact Street Address (no P.O. Box or P.O. Zip Code accepted) |
| |
| |
|--------------------------------------------------------------|
| City | State or Country |
| | |
|--------------------------------------------------------------|
| Signature (required) | ZIP Code for Street Address|
| | |
| | |
+--------------------------------------------------------------+
Note: this is not a promise that there will be any new releases.
Page 129 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
APPENDIX K -- RBBS-PC National Listing Service
----------------------------------------------
Frequent inquires are made about a "national" list of RBBS-PC's. In order
to help SYSOP's (and potential SYSOP's) everywhere find configurations that
most closely match their own, with the introduction of RBBS-PC CPC12-5B an
additional public service was inaugurated to keep an "ACCURATE" telephone
listing of all publicly available RBBS-PC systems. The success of this
endeavor depends on you. If you would like a chance to stand up and be
recognized, please fill out and return the following form:
+--------------------------------------------------------------+
| To: Jon Martin RBBS-PC National Listing |
| 4396 N. Prairie Willow Ct. Service (if any, and none is|
| Concord, California implied or promised by this |
| 94521 offer) |
|--------------------------------------------------------------|
|Please REMOVE CHANGE ADD Date Requested: |
|(circle one) to your Listing. Date Action Taken: |
|--------------------------------------------------------------|
|SYSOP's Name: |
|--------------------------------------------------------------|
|DATA Phone Number (required): ( ) - |
|VOICE Phone Number (optional): ( ) - |
|Do NOT publish my VOICE number (please check) _____ |
|--------------------------------------------------------------|
|Exact Street Address (no P.O. Box or P.O. Zip Code accepted) |
|(Address will not be published. For my information only.) |
| |
|--------------------------------------------------------------|
| City | State |
| | |
|--------------------------------------------------------------|
| Signature (required): | ZIP Code for Street Address|
| | |
| | |
+--------------------------------------------------------------+
| Detailed System Information |
| RBBS Name :_________________________________________|
| Operating Hrs.(EST):_________________________________________|
| Specialty of RBBS :_________________________________________|
| Baud Rates :_________________________________________|
| Number of Nodes :_________________________________________|
| Modem Vendor/Model :_________________________________________|
| Computer Type :_________________________________________|
| Memory :_________________________________________|
| Multi-Function Card:_________________________________________|
| Monitor Vendor/Type:_________________________________________|
| Disk Storage :_________________________________________|
| Special Cards :_________________________________________|
| DOS Version :_________________________________________|
| Related Software :_________________________________________|
|--------------------------------------------------------------|
| Additional information/comments: |
| |
| |
+--------------------------------------------------------------+
Page 130 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
APPENDIX L -- RBBS-PC and The Ark-Paradyne Modem Switch Settings
----------------------------------------------------------------
IMPORTANT: This information is NEW and needed for RBBS-PC versions CPC15-
1A and greater.
With the current CONFIG.EXE (Ver 3.02) and RBBS-PC.EXE (Ver 15.1) programs,
the S0 register is set to reflect the answer mode. S0=255 is for a ring-
back system, S0=254 is for answer on a specified number of rings, and S0=1
to "auto-answer". Unfortunately the first two won't work with the ARK
modem.
You must change the modem command contained in RBBSxPC.DEF (where "x" is
the node number for multiple machines or a "-" for a single node
application.) You will find the command on the second line near the end
and reads as follows: ATM0Q1S2=255S10=30E0S0=0. The only change is to make
S0=0. Leave all other commands as the original. (See the section on "Hayes
Command's considerations" for more on this). With this version of the
CONFIG program, you only need to change this once. Further usage of CONFIG
will not alter this again.
Ark Modems can't accept any commands if the "AA" (auto answer) light is on
and the phone is ringing until the number of rings equals the number set in
the S0 register. RBBS-PC expects to issue a "modem answer command" when it
detects a ring and is ready. If the Ark modem can't accept this command,
it won't answer the phone. You therefore cannot use the ring-back system
or answer on a ring greater than 1.
Another interesting difference is that when the modem is in the "quiet
mode" (Q1) NO results will be sent to the computer. If we inquire as to
the number of rings received, it responds with nothing.
Despite all of the above, the modem does work reliably to answer on 1 ring.
The following is recommended for the ARK 24K Modem:
Switch 1 UUUDDUUD (where U = Up = On and D = Down = Off)
Switch 2 UDDDDUDD
Switch 3 DUUDUUUU
MODEM DTE/CLOCK FLOW BUSY DTR
JUMPERS E8-E9 E15-E16 E4-E7 E11-E14
The ARK 24K Modem can't use the options such as doors or remote
Sysop dropping to DOS. The modem has no time delay from MCR to DTR
to drop of carrier. The ARK 24K PLUS has solved this problem.
The following is for the ARK 24K PLUS Modem:
This modem has additional features and has solved the time delay
problem mentioned above.
Use all the factory switch and jumper settings except:
Switch 1, position 8 should be down - (Hayes mode)
Switch 2, position 1 should be up - (Auto answer off)
Switch 3, positions 6,7,8 should all be down - ( "AT" Auto Baud)
It is also recommended that the speaker be unplugged to avoid
noise.
This Modem CAN be used for Doors and remote SYSOP to DOS. It has
been tested with this and previous versions of RBBS-PC. The
Program must be compiled with the patches applied to the compiler
Page 131 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
as suggested by Jeff Porter. (See the Appendix in the RBBS-PC
documentation entitled "RBBS-PC and BASIC Compiler Patches for
"Doors").
Make the following changes with your Config program for either modems:
Option 204 Number of rings to wait before answering 1
Do you want ringback? (YES/NO) NO
Option 207 Issue commands between rings YES
Option 208 Baud rate to initially open modem at 2400
The following modems were tested: 24K - ROM versions 2.1 & 2.21 & 2.23 24K
PLUS - ROM version 3.51. If you have questions, please contact:
Dave Hacquebord,
Sunshine Bulletin board,
Tampa, Fl.
Voice: 1-813-884-4267
Data: 1-813-887-3984
Page 132 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
APPENDIX M -- RBBS-PC And the Anchor Signalman Express (MK12)
-------------------------------------------------------------
The following are the switch and jumper settings for the Modem.
Switch 1 = Off
Switch 2 = Off
Switch 3 = On
Switch 4 = On
Switch 5 = On
Switch 6 = On
Switch 7 = On
Switch 8 = On
Page 133 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
APPENDIX N -- RBBS-PC and the Everex 2400 modem switch settings
---------------------------------------------------------------
The Everex Evercom 24 is an internal 2400 BAUD modem. It has 4 switches on
the mounting bracket. If you are using COM1 then all switches should be in
the OFF position. If you are using COM2 see the Installation Guide for the
correct switch settings.
The Evercom does not have non-volatile memory like the Hayes 2400 and the
ATZ command will reset the modem to factory defaults. It is therefore not
necessary to use CONFIG to set the Hayes 2400 defaults. Because of this
major difference you must use CONFIG option 205 to change the standard
modem defaults. Select parameters 2 and 5 and enter the command just as it
is but with the addition of &D2. This will instruct RBBS-PC to add &D2 to
the standard modem initialization string each time the system recycles.
Please note that although the Evercom 24 manual indicates that &D2 is the
default that this is a misprint in their manual and &D0 is the real default
for the &D command.
NOTE: Make sure that &D2 is inserted immediately following the "AT" when
modifying parameters 2 and 5 of option 205!
A special thanks goes to Carl Margolis (Everex) for his help in identifying
these restrictions so that Evercom 24 users can now reliably use RBBS-PC.
Do not select option 205 if you are using an Everex 1200 BAUD modem.
Page 134 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
APPENDIX O -- RBBS-PC and the Prometheus 2400G modem switch settings
--------------------------------------------------------------------
Underneath the 2400G is a bank of 10 switches that set certain operating
characteristics of the ProModem 2400G. Only 3 (1,2 & 10) of these switches
are currently implemented. The others are reserved for future expansion.
All three of these switches must be in the off position for the 2400G to
function properly with RBBS-PC.
Page 135 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
APPENDIX P -- RBBS-PC and The US Robotics Modems Switch Settings
----------------------------------------------------------------
Both the US Robotics COURIER 2400 and COURIER HST modem switch settings
should be as follows:
1 2 3 4 5 6 7 8 9 10 gang switch
U U U D D U U D D D UUU (Where U = Up = Off and D = Down = On )
You can have parameter 208 "Modem rate" in CONFIG.EXE set to whatever you
want. Set this to the maximum speed of the modem (2400 for the COURIER
2400 and 9600 for the COURIER HST.
The US Robotics COURIER 2400 and COURIER HST modems are compatible with all
of the features of RBBS-PC such as "Doors", Remote SYSOP to DOS and the
RBBS version of MNP Protocol.
The following LED lights should be "ON" while waiting for a call with Option
38 set to "2400" and parameter 204 set to "1" in CONFIG.EXE:
HS High Speed Communications
TR Terminal Ready
MR Modem Ready
(If you have parameter 204 of CONFIG.EXE set to "1" then...
AA Auto Answer
...will be lit)
The COURIER HST modem has firmware that should be set as follows:
&F = Load factory settings into random access memory
Next issue: AT&A1&B0&H1&I0&M4&N0&R2&S1&3 (SEE NOTE FOR &R2)
&A1 = Display /ARQ result codes
&B0 = DTE/DCE rate follows connection rate
&H1 = Hardware (CTS, Pin 5) flow control
&I0 = Flow control disabled
&M4 = Normal if ARQ connection cannot be made
&N0 = Negotiate highest possible link rate with remote modem
&R2 = Received data output to terminal on RTS high (Pin 4)
NOTE: If your HST 9600 modem responds 961 or
greater to the ATI command, substitute
&R1 for &R2.
&S1 = Modem controls DSR
&W = Write these settings to nonvolatile random access memory
This will enable the COURIER HST to use the built in MNP protocol at the
highest possible baud rate that can be negotiated with the calling modem --
providing the calling modem is also a COURIER HST modem.
Page 136 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
APPENDIX Q -- RBBS-PC and the FASTCOMM 2496 Turbo Modem
-------------------------------------------------------
The FASTCOMM 2496 9600 and 19200 baud modems work with RBBS-PC without
modifications to RBBS.
However some unusual quirks were noted with the FASTCOMM hardware. The
modems would NOT follow terminal baud rate in the command mode if the
transition was from 300 to 9600 (or 19,200) baud. Therefore, if RBBS-PC
were configured to initially operate at 9600 baud, it would not properly
reset after a 300 baud call. It would, however, follow all other changes
within the range of RBBS-PC. If it was configured to initially answer at
both 2400 and 4800 baud and it worked equally well with calls at
300,1200,2400,4800, 9600 and 19200 baud for both cases. Therefore set
CONFIG option 208 to 2400 baud!
It is interesting to note that the calling terminal speed and the RBBS-PC
speed need not be the same when the FC2496 is operating at speeds greater
than 2400 baud. This takes a little time to get used to since previous
experience is that both calling and answering computer need to be
communicating at the same speed. This is still the case at 2400 baud and
below. It is recommended that CONFIG option 204 be set to answer on one
ring!
Specific instructions for modem set up are as follows:
1. Use the BASIC program SETFC.BAS below, set the default modem settings.
This can also be done manually from a communications program. The
speed that is used to establish the default modem settings is the speed
to which the modem defaults on reset and power on. It is probably good
practice to do this setup at the same speed that RBBS-PC uses as its
default speed. In any case do not do it at 9600 Baud.
2. Tell RBBS-PC to open the modem at 2400 baud.
3. Edit RBBS-PC.DEF to replace the "ATZ" in the last line with "AAAAATZ".
This string of A's resets the modem to the terminal baud rate so it can
respond to the other commands. If you want to experiment, watch the
modem respond to you when you change baud rates in your favorite
communications program. This modem function is referred to as
"autobaud". You will not see the first "A" and sometimes not the
second. You should always see the third "A". Others have advised that
their modems would "autobaud" from 300 to 9600 baud. Mine would not.
Page 137 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
20 'title: 'SETFC.BAS, Copyright 1986 by H. Stanley Staten
30 '
40 'This program was written to automatically set the
50 'FASTCOMM 2496 TURBO modem internal nonvolatile memory switches.
60 '
70 ' Copyright (C) 1986 by
80 ' H. Stanley Staten
90 ' 12012 Cheyenne Rd.
100 ' Gaithersburg, MD 20878-2012
110 '
120 DEFINT A-Z
130 CLEAR
140 '
160 ' ********************************************************************
170 ' * ROUTINE TO INITIALIZE THE FASTCOMM 2496 MODEM'S FIRMWARE *
180 ' ********************************************************************
190 '
200 COM.PORT$ = "COM1" 'Change to "COM2:" for COM2: use
210 PRINT "Setting FASTCOMM 2496 firmware for RBBS-PC on " + COM.PORT$
230 '
240 ' *********************************************************************
250 ' * *
260 ' * INITIALIZE THE FASTCOMM 2496 VOLATILE MEMORY. SET THE FOLLOWING: *
270 ' * *
280 ' * AT#F = Set to factory defaults *
290 ' * AT#LCN = Set carrier detect to normal *
300 ' * AT#LDN = Set DTR to normal *
310 ' * AT#LX2 = Set for XON/XOFF flow control *
320 ' * ATS7=30 = Set wait for answer tone to 30 seconds *
330 ' * ATM0 = Turn speaker off *
340 ' * ATV1 = Issue long form of results codes *
350 ' * ATX2 = Full result messages *
360 ' * ATS57=1 = Hang up and reset automatically executed *
370 ' * ATE0 = Do not echo modem commands back to the PC *
380 ' * ATS10=10 = To cause to reset on loss of carrier faster *
390 ' * ATS58=3 = Force a 19200 Baud call to 9600 Baud locally*
405 ' * ATS22=46 = Suggested by the vendor *
406 ' * ATS0=0 = Don't answer until told to. *
410 ' * AT#W = Write settings to non volatile memory *
420 ' * *
430 ' *********************************************************************
440 '
450 OPEN COM.PORT$ + ":2400,N,8,1,RS,CD,DS" AS #3
470 PRINT #3,"AAAAAAAT"
480 PRINT #3,"AT#F"
490 PRINT #3,"AT#LCN"
500 PRINT #3,"AT#LDN"
510 PRINT #3,"AT#LX2"
520 PRINT #3,"ATS7=30"
530 PRINT #3,"ATM0"
540 PRINT #3,"ATV1"
550 PRINT #3,"ATX2"
560 PRINT #3,"ATS57=1"
570 PRINT #3,"ATE0"
580 PRINT #3,"ATS10=10"
590 PRINT #3,"ATS58=3"
595 PRINT #3,"ATS22=46"
596 PRINT #3,"ATS0=0"
600 PRINT #3,"AT#W"
620 SYSTEM
Page 138 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
APPENDIX R -- RBBS-PC And The AT's RS-232 Cable
-----------------------------------------------
The RS-232 serial connector is different for the AT than the PC or XT. The
AT uses a connector called a DB-9, which is a 9 pin connector. An
alternative to buying the AT serial cable from IBM, ($65-$80), is to make
your own. A ten-wire cable can be purchased from any local computer store
for about $.80 per foot, and the DB-9 and RS-232 connectors with hoods can
be purchased from Radio Shack. The total cost should be about $12.00. A
modem hooked up to the AT will work fine with the 9 pins connected in all
terminal functions, except for auto-answer applications such as RBBS-PC.
RBBS-PC requires pin 1 from the modem to be hooked up to the chassis ground
on the AT or it can't answer the phone. There are two ways to hook up the
ground wire on the computer end. The first way is to use a metal hood to
cover the DB-9 connector. Wrap a bare wire that is attached to pin 1 of
the RS-232 connector around the cable on the DB-9 end. When the metal hood
is screwed down over the cable a connection will be made. When using a
plastic DB-9 hood simply solder a wire from pin 1 on the RS-232 end to the
metal body of the DB-9 connector. Since documentation is scarce for the
AT, following figure lists the necessary pin connections for those wanting
to make their own AT RS-232 cable.
DB-9 (Computer End) RS-232 (Modem End)
=================== ==================
GROUND --------------------- 1
1 --------------------- 8
2 --------------------- 3
3 --------------------- 2
4 ---------------------20
5 --------------------- 7
6 --------------------- 6
7 --------------------- 4
8 --------------------- 5
9 ---------------------22
Page 139 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
APPENDIX S -- RBBS-PC And BASIC Compiler Patches for "Doors"
------------------------------------------------------------
Both the IBM Version 2.0 BASIC compiler and Microsoft's QuickBASIC compiler
offers a lot of needed features to compiled BASIC programs. Regrettably,
they also included a few "problems."
For those who use RBBS-PC to "exit" to DOS (either via a "door" or as a
remote SYSOP), the code generated by the new BASIC compilers would "help"
you by dropping carrier when you chose to return to RBBS-PC from DOS or a
"door." Help like this RBBS-PC didn't need.
Jeff Porter was the first to document a six step "patch" to the IBM BASIC
Version 2.0 compiler and to BCOM10.LIB of the QuickBASIC Version 1.0
compiler that corrects this problem within the logic of the code generated
by the QuickBASIC compiler. Subsequently, Rod Bowman of "The PC Spectrum",
(714) 945-2612,, subsequently, provided similar patches to the BCOM20.LIB
of the QuickBASIC Version 2.0 and 2.01 compiler.
As I stated earlier:
"RBBS-PC continues to grow and expand because hundreds
(and quite possibly thousands) of SYSOP's spend the
time and trouble not only to modify RBBS-PC to meet
their needs, but also to share these modifications
with others."
Please note that nowhere in the following documentation does Jeff describe
the hours and hours it must have taken him to find the fix to the problem.
Nowhere does he ask anything for himself for his efforts. As I have said
so often "I am very proud of the company that RBBS-PC keeps."
1. Jeff Porter's DTR Patches for the QuickBASIC Version 1.x Compilers
----------------------------------------------------------------------
As anyone who has tried to write any programs that use COM1: or COM2:
with MicroSoft QuickBasic knows, the DTR modem control line is dropped
every time a a communication file is opened or closed. I don't know why
MicroSoft drops the DTR line all the time; all I know is that it can be a
serious problem with programs such as RBBS-PC. Therefore, I present
the following patch to fix the problem.
This patch modifies the serial communication routines in the
BCOM10.LIB file so that the DTR line will be not be turned off. Here is
a transcript of a patch session.
C>copy bcom10.lib bcom10bk.lib
1 File(s) copied
C>debug bcom10.lib
-d540 L 10
xxxx:0540 0B D2 75 04 B5 FF EB 34-FA 83 C2 04 32 C0 EE EB ..u....4....2...
-d830 L 10
xxxx:0830 14 8B FA E8 00 00 83 C2-04 32 C0 EB 00 EE C7 47 .........2.....G
-a54c
xxxx:054C mov al, 1
xxxx:054E
-a839
xxxx:0839 mov al, 1
xxxx:083B
-w
Writing 25C00 bytes
-q
Page 140 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
1. Make a backup copy of the BCOM10.LIB file, just in case.
2. Run debug and load BCOM10.LIB
C>debug bcom10.lib
3. Display the following sections of data and see that they
match. This is to insure that you are patching the correct
version of the library.
-d540 L 10
xxxx:0540 0B D2 75 04 B5 FF EB 34-FA 83 C2 04 32 C0 EE EB ..u....4....2...
-d830 L 10
xxxx:0830 14 8B FA E8 00 00 83 C2-04 32 C0 EB 00 EE C7 47 .........2.....G
4. If debug shows the same information as listed above, then
you may continue with the patching process. If not, go to
the section 2 of this appendix.
5. Do the following:
-a 54c
xxxx:054C mov al, 1
xxxx:054E
-a 839
xxxx:0839 mov al, 1
xxxx:083B
6. Now write the file back to disk and quit debug. The patch
is complete.
-w
Writing bytes
-q
2. Jeff Porter's DTR Patches for the IBM BASIC Version 2.0 Compiler
--------------------------------------------------------------------
If you do not have MicroSoft QuickBasic or if you have a different
version than I, you can probably still perform this patch. You will
have to find the correct locations to patch. The addresses 054C and
0839 were found with the following procedure:
1. Search for the byte sequence 83 C2 04 32 C0 in the library
file. If you are lucky, debug will find it in exactly two
places.
(for example:)
-s 100 fff0 83 C2 04 32 C0
2. Unassemble the addresses you found. The first two
instructions will be
ADD DX, +04
XOR AL, AL
Within the next few instructions should be
OUT DX, AL
3. If everything has gone correctly so far, just change the
Page 141 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
XOR AL, AL
to a
MOV AL, 1
4. Perform this change in both places where the
XOR AL, AL
instruction was found.
5. Write the updated file.
3. Rod Bowman's DTR Patch for the QuickBASIC Version 2.0 Compiler
------------------------------------------------------------------
Rod Bowman, of "The 'PC' Spectrum" (tm) whose RBBS-PC data line number is
(714) 945-2612 provided the following patch for the QuickBASIC version 2.0
compiler library.
This patch modifies the serial communication routines in the
BCOM20.LIB file for QuickBASIC version 2.0 so that the DTR line will be
not be turned off when running another program with the RUN Command of
BASIC! Here is a transcript of a patch session.
A>copy bcom20.lib bcom20bk.lib
1 File(s) copied
A>debug bcom20.lib
-dD368 L 5
xxxx:D368 83 C2 04 32 C0 ..2...
-aD36B
xxxx:D36B mov al, 1
xxxx:D36D
-w
Writing 2B000 bytes
-q
1. Make a backup copy of the BCOM20.LIB file, just in case.
2. Run debug and load BCOM20.LIB
A>debug bcom20.lib
3. Display the following sections of data and see that they
match. This is to insure that you are patching the correct
version of the library.
-dD368 L 5
xxxx:D368 83 C2 04 32 C0 EE EB ..2...
4. If debug shows the same information as listed above, then
you may continue with the patching process. If not, go to
the section 2 of this appendix.
5. Do the following:
-a D36B
xxxx:D36B mov al, 1
xxxx:D36D
Page 142 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
6. Now write the file back to disk and quit debug. The patch
is complete.
-w
Writing bytes
-q
4. Rod Bowman's DTR Patch for the QuickBASIC Version 2.01 Compiler
-------------------------------------------------------------------
Rod Bowman, of "The 'PC' Spectrum" (tm) whose RBBS-PC data line number is
(714) 945-2612 provided the following patch for the QuickBASIC version 2.01
compiler library.
This patch modifies the serial communication routines in the
BCOM20.LIB of QuickBASIC version 2.01 file so that the DTR line will be
not be turned off when running another program with the RUN Command of
BASIC! Here is a transcript of a patch session.
A>copy bcom20.lib bcom20bk.lib
1 File(s) copied
A>debug bcom20.lib
-dD858 L 5
xxxx:D858 83 C2 04 32 C0
-aD85B
xxxx:D85B mov al, 1
xxxx:D85D
-w
Writing xxxxx bytes
-q
1. Make a backup copy of the BCOM20.LIB file, just in case.
2. Run debug and load BCOM20.LIB
A>debug bcom20.lib
3. Display the following sections of data and see that they
match. This is to insure that you are patching the correct
version of the library.
-dD858 L 5
xxxx:D858 83 C2 04 32 C0
4. If debug shows the same information as listed above, then
you may continue with the patching process. If not, go to
the section 2 of this appendix.
5. Do the following:
-a D85B
xxxx:D85B mov al, 1
xxxx:D85D
6. Now write the file back to disk and quit debug. The patch
is complete.
-w
Writing xxxxx bytes
-q
Page 143 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
5. Ken Goosens' DTR Patch for the QuickBASIC Version 3.0 Compiler
------------------------------------------------------------------
Ken Goosens provided the following patch for the QuickBASIC version 3.0
compiler library.
This patch modifies the serial communication routines in the
BCOM30.LIB of QuickBASIC version 3.0 file so that the DTR line will be
not be turned off when running another program with the RUN Command of
BASIC! Here is a transcript of a patch session.
A>copy bcom30.lib bcom30bk.lib
1 File(s) copied
A>debug bcom30.lib
-dDAB8 L 5
xxxx:DAB8 83 C2 04 32 C0
-aDAB8
xxxx:DAB8 mov al, 1
xxxx:DAB8
-w
Writing xxxxx bytes
-q
1. Make a backup copy of the BCOM30.LIB file, just in case.
2. Run debug and load BCOM30.LIB
A>debug bcom30.lib
3. Display the following sections of data and see that they
match. This is to insure that you are patching the correct
version of the library.
-dDAB8 L 5
xxxx:DAB8 83 C2 04 32 C0
4. If debug shows the same information as listed above, then
you may continue with the patching process. If not, go to
the section 2 of this appendix.
5. Do the following:
-a DAB8
xxxx:DAB8 mov al, 1
xxxx:DAB8
6. Now write the file back to disk and quit debug. The patch
is complete.
-w
Writing xxxxx bytes
-q
Page 144 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
APPENDIX T -- Using RBBS-PC to access Data Bases Remotely
---------------------------------------------------------
1. The Need for Data Base Services
A feature that has been long missing from PC based host communication
systems is the ability for SYSOPs to install customized data bases and let
callers run true interactive data base queries against them. Because data
base management is a major programming task, the most promising way to add
data base services is to uses RBBS-PC's innovative "door" mechanism to exit
RBBS-PC and have the remote user enter an existing data base management
program.
"Door"ing to a data base management program, however, is not as easy as one
might hope. The major problems stem from the fact that data base
management programs are never designed to work in this environment.
o Most programs write to the hardware for speed rather than use
bios calls, causing the "screen" output to appear on the host
terminal rather than on the caller's terminal.
o Data base programs do not monitor for carrier. If carrier
drops they simply sit forever waiting for input rather than
terminating.
o Most use "full screen" rather than "line at a time", which
usually does not work properly on a remote terminal.
o Security. Most data base programs have no way to limit what
a user can do. For example, they do not have a read-only mode,
or the ability to restrict a user to specific files or fields.
Many let the user issue dos commands inside them, which gives
to call too much power.
o Difficulty in learning to use. A caller can hardly be expected
to know how to use a data base. Hence it must be possible to
simplify and control the user interface inside the data base
package.
However, one database package that is able to be used as a "door" is ORACLE
from Oracle Corporation at One Oracle Parkway in Belmont, California 94002.
Their number is (415) 598-8000.
The SQLBBS is a specialized bulletin board system specializing in
supporting relational data base managers and making the power of SQL
available to callers.
SQLBBS uses an RBBS door to get into ORACLE. ORACLE is a very promising
solution to providing remote data base services. It addresses the above
problems as follows.
o Screen writes. ORACLE user bios calls. All output appears
perfectly normal on remote terminals through the CTTY interface
in RBBS.
o Monitor for carrier. Run WATCHDOG, which will reboot your system
if carrier drops.
o Full screen mode. ORACLE uses only ANSI commands to control the
users screens. Callers whose remote communications package
implements ANSI support therefore see full screen writes exactly
the same as local users. FULL SCREEN WORKS!
Page 145 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
o Security. ORACLE has all the security you could ever want because
it was designed for multi-user systems.
o Usability. ORACLE implements SQL, which is increasingly becoming
an industry standard that all major data base systems are supporting.
3. Problems Using ORACLE
o There is a problem getting the function keys to work properly remotely.
o The ability for a caller to use DOS commands needs to be disabled
within ORACLE.
o Callers who do not know SQL need pre-structured queries and a menu
interface to be designed for them. ORACLE supports a full screen
interface but the user interface in ORACLE is not as programmable as
one would like.
4. Current Progress
The SQLBBS has implemented ORACLE to help manage the data processing for
the National Council for Children's Rights (NCCR), and have several major
data bases on-line for general interest.
People can contact John Prior, the SQLBBS SYSOP, on Compuserve or MCI, by
mail, or call SQLBBS if they wish to see how ORACLE is implemented, get the
latest progress report, or share experiences implementing data base
services.
Here are details on the SQLBBS system and how to reach both John and it:
Software: PC-DOS 3.1, RBBS-PC, Oracle V4.1.4
Hardware: WIN TURBO AT, 1 MEG on motherboard, C:
30MEG, D: 20MEG, 1 MEG EEMS
Norton 4.0 Computing Index: 9.0 x IBM/XT
Modem: 2400 Baud Hayes
BBS Number: 301/881-6588
Hours: 24 hrs/day
Address: Prior Computer Service Inc.
POB 2168
Rockville MD 20852-2168
Compuserve ID: 76266,1072
MCI MAIL ID: JPRIOR
SYSOPS: John F. Prior
Steve J. Prior
Tony Zelof
SQL Tables Roster of the House of Representatives
Available Roster of the Senate [both with addresses etc.]
Now The States [2 char abbreviation and full name]
Page 146 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
Available The 95,000 5 digit Zip Codes of the US
Shortly Telephone Area Codes, Exchanges & Zips
Software QMODEM 3.0 or Procomm 2.4.2 or later.
on your end Just take the defaults N81, ANSI-BBS.
5. How to use my system as a trial
Call SQLBBS as you would any other RBBS-PC system.
Go through the Door.
SQLBBS executes a "SELECT * FROM TAB;" for you which shows you the tables
and views you can access.
At the UFI> prompt execute any SELECT command you want against any table or
view.
"SELECT * FROM STATES;" returns all rows [records] of the STATES table.
"SELECT * FROM STATES WHERE ST = 'MA';" returns all rows about the state
whose two-character code is "MA".
"SELECT COUNT(*) FROM STATES;" gives you a count of the rows in the STATES
table.
If you substitute another table or view instead of STATES such as SENATE,
you can access other tables/views.
"DESC HOUSE" would return the column names of the HOUSE table.
"HELP" gets you help.
"HELP SELECT" gets you help on the SELECT command.
"HELP SET" gets you help on the SET command which can control many options
for display etc.
"SHOW ALL" shows you everything you can SET.
"EXIT" terminates UFI and returns you to BBS-PC.
6. Implementation Cookbook
A. Install RBBS-PC.
B. Install Oracle.
C. Create tables under a userid that will grant views to the userid you
will use in item D below.
D. Create a batch file that will invoke Oracle and force the user into a
certain userid/password that will only have SELECT access to views.
7. How to get questions answered & get the latest?
Call SQLBBS and leave a message.
Page 147 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
8. Other software
John has purchased the following software to make life easier:
SQLCALC a spreadsheet interface to Oracle for prototyping
FLASH a disk caching program for performance
He is attempting to get special prices on these products and Oracle itself.
9. How to bring up Oracle and RBBS-PC
Execute the following autoexec.bat file:
echo off
path C:\ORACLE\BIN;C:\SHELLS;C:\DOS;C:\UTIL;C:\GT;
rem mousesys > nul
prompt $p$g
rem subst e: c:\xdb
rem c:\dos\memo\memo
flash 384 /ma /z > nul
flash /cn > nul
rem set gtpath=c:\gt
rem set TZ=EDT+04
command /c \shells\menu
turbokey a 1 > nul
echo on
oracle
ior w
\RBBS\RBBS
Which executes the following bat file:
c:
cd \rbbs
IF EXIST RBBS1F1.DEF DEL RBBS1F1.DEF
IF EXIST RCTTY.BAT DEL RCTTY.BAT
\RBBS\WATCHDOG OFF
\RBBS\RBBS-PC
\RBBS\WATCHDOG ON
IF EXIST RBBS1F1.DEF GOTO EXIT
IF EXIST RCTTY.BAT RCTTY.BAT
cd \rbbs
\RBBS\RBBS
:EXIT
And when a user goes through a door the following bat file gets
executed:
echo off
ctty com2
cd \misc\sql
ufi sql/sql
cd \rbbs
CTTY CON
echo on
EXIT
10. Future Areas to Investigate
Oracle provides a full screen interactive screen painter interface to the
Page 148 of 149
RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack June 7, 1987
DBMS that I have been able to bring up remotely, but I have been unable to
get the function keys to work. They also provide a FASTFORM utility that
generates a default screen for any table. This would allow update
capability with the proper GRANTS of privileges.
There is a security problem in that a knowledgeable Oracle user can get
access to DOS. It looks like the solution at the present time will require
a change either renaming the DOS commands within DOS to random strings that
a caller would not guess easily or an enhancement to Oracle that allows
this capability to be disabled. Call John Prior's the SQLBBS for the
latest information on his innovative use of RBBS-PC.
John F. Prior
=========== E N D O F CPC15-1B D O C U M E N T A T I O N ==========
Page 149 of 149